home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
PROGRAMM
/
ASSEMBLE
/
0572.ZIP
/
ARC-UNIX.TRZ
/
ARC-UNIX
/
arccode.c
< prev
next >
Wrap
C/C++ Source or Header
|
1986-09-22
|
1KB
|
47 lines
/* ARC - Archive utility - ARCCODE
$define(tag,$$segment(@1,$$index(@1,=)+1))#
$define(version,Version $tag(
TED_VERSION DB =1.02), created on $tag(
TED_DATE DB =01/20/86) at $tag(
TED_TIME DB =13:33:35))#
$undefine(tag)#
$version
(C) COPYRIGHT 1985 by System Enhancement Associates; ALL RIGHTS RESERVED
By: Thom Henderson
Description:
This file contains the routines used to encrypt and decrypt
data in an archive. The encryption method is nothing fancy,
being just a routine XOR, but it is used on the packed data,
and uses a variable length key. The end result is something
that is in theory crackable, but I'd hate to try it. It should
be more than sufficient for casual use.
Language:
Computer Innovations Optimizing C86
*/
#include <stdio.h>
#include "arc.h"
static char *p; /* password pointer */
setcode() /* get set for encoding/decoding */
{
p = password; /* reset password pointer */
}
int code(c) /* encode some character */
int c; /* character to encode */
{
if (p) { /* if password is in use */
if (!*p) /* if we reached the end */
p = password; /* then wrap back to the start */
return c ^ *p++; /* very simple here */
} else
return c; /* else no encryption */
}